package com.ruoyi.deeplearn.service.impl;

import java.util.List;

import cn.hutool.core.util.IdUtil;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.deeplearn.mapper.DeepDatasetFileMapper;
import com.ruoyi.deeplearn.domain.DeepDatasetFile;
import com.ruoyi.deeplearn.service.IDeepDatasetFileService;

/**
 * 数据集文件Service业务层处理
 * 
 * @author 任伟伟
 * @date 2022-12-10
 */
@Service
public class DeepDatasetFileServiceImpl implements IDeepDatasetFileService 
{
    @Autowired
    private DeepDatasetFileMapper deepDatasetFileMapper;

    /**
     * 查询数据集文件
     * 
     * @param fileId 数据集文件主键
     * @return 数据集文件
     */
    @Override
    public DeepDatasetFile selectDeepDatasetFileByFileId(Long fileId)
    {
        return deepDatasetFileMapper.selectDeepDatasetFileByFileId(fileId);
    }

    /**
     * 查询数据集文件列表
     * 
     * @param deepDatasetFile 数据集文件
     * @return 数据集文件
     */
    @Override
    public List<DeepDatasetFile> selectDeepDatasetFileList(DeepDatasetFile deepDatasetFile)
    {
        return deepDatasetFileMapper.selectDeepDatasetFileList(deepDatasetFile);
    }

    /**
     * 新增数据集文件
     * 
     * @param deepDatasetFile 数据集文件
     * @return 结果
     */
    @Override
    public int insertDeepDatasetFile(DeepDatasetFile deepDatasetFile)
    {
        deepDatasetFile.setFileId(IdUtil.getSnowflakeNextId());
        deepDatasetFile.setCreateTime(DateUtils.getNowDate());
        return deepDatasetFileMapper.insertDeepDatasetFile(deepDatasetFile);
    }

    /**
     * 修改数据集文件
     * 
     * @param deepDatasetFile 数据集文件
     * @return 结果
     */
    @Override
    public int updateDeepDatasetFile(DeepDatasetFile deepDatasetFile)
    {
        deepDatasetFile.setUpdateTime(DateUtils.getNowDate());
        return deepDatasetFileMapper.updateDeepDatasetFile(deepDatasetFile);
    }

    /**
     * 批量删除数据集文件
     * 
     * @param fileIds 需要删除的数据集文件主键
     * @return 结果
     */
    @Override
    public int deleteDeepDatasetFileByFileIds(Long[] fileIds)
    {
        return deepDatasetFileMapper.deleteDeepDatasetFileByFileIds(fileIds);
    }

    /**
     * 删除数据集文件信息
     * 
     * @param fileId 数据集文件主键
     * @return 结果
     */
    @Override
    public int deleteDeepDatasetFileByFileId(Long fileId)
    {
        return deepDatasetFileMapper.deleteDeepDatasetFileByFileId(fileId);
    }

    @Override
    public Long countDatasetMarked(Long datasetId) {
        return deepDatasetFileMapper.countDatasetMarked(datasetId);
    }
}
